Computer graphical user interface method and system for supporting multiple two-dimensional movement inputs

ABSTRACT

A method and system are disclosed, for providing a user interface with a graphical user interface (GUI) computer system. The method comprising the steps of receiving a user input command signal, the signal including first and second signals, representative of movements of respective first and second user input mechanisms for two-dimensional movements, resolving the first and second signals from the user input command signal, operating a first displayed symbol based on the first signal, and operating a second displayed symbol based on the second signal. The invention is advantageously practiced in an environment in which the user has a plurality of two-dimensional movement input devices, such as a mouse having a joystick-type pointing device as well as the surface contact ball on its underside. A system in accordance with the invention provides the user with many advantageous features, such as the ability to scroll, in the up/down and left/right directions, the content of an image partially displayed by an application window, to move forward/backward through a sequence of frames displayed by an application window, to move a cursor over the GUI display in the up/down and left/right directions, and to move a special function sub-window, such as a magnifier, over the GUI display in the up/down and left/right directions.

FIELD OF THE INVENTION

The invention generally relates to the field of computer graphical userinterfaces (GUIs). More specifically, the invention relates to userinterface systems and methods for supporting activities such as symbolmovement and selection on a GUI system.

BACKGROUND OF THE INVENTION

Since the advent of the graphical user interface (GUI) in the early1980s, computers have employed, as user input devices, devices thatallow a user to perform two basic functions, first, a two-dimensionalmovement function, such as moving a cursor around on a two-dimensionaldisplay, and, second, a pulsing or "clicking" function, that allows auser to select a function associated with a particular position on thedisplay.

In a GUI, information displayed includes object symbols, such aswindows, icons, slider bars, soft "buttons", etc. The two-dimensionalmovement function allows a user to move a cursor to an area of thescreen within which a desired object symbol is located. The clickingfunction allows the user to select, operate, or manipulate the objectsymbols, and, in so doing, perform computer operations.

The number of such functions that a GUI supports is wide and varied. Forinstance, any window that shows a portion of an image (such as a wordprocessor showing a portion of a lengthy document) provides forscrolling through the image. A slider bar is provided for this purpose.For incremental scrolling, the user moves the cursor to an up or downarrow, and holds a click button down to invoke the scrolling function.For long-distance moves, the user positions the cursor on a sliderblock, holds a click button down, and moves the mouse to drag the sliderblock along the slider bar. A portion of the image, in a positionproportional to the position of the block along the slider bar, isdisplayed. This arrangement is both easy and intuitive for the user.

Other functions include the "drag and drop" function, similar to thatused with the slider block, but applicable to icons and other objects inthe GUI display.

As application software has increased in sophistication and"user-friendliness," more and more of the functionality of a computerhas migrated from a typewriter-style keyboard to a user interface deviceproviding this functionality.

The most commonly employed user input mechanism is a mouse. A mouse is ahand-held device having a surface contact member such as a ball. Theuser moves the mouse over a work surface such as a table top, causingthe ball to roll. Sensors within the device detect the rolling, andtranslate it into two-dimensional movement signals analogous to theuser's movement of the mouse. The signals are sent over a wire to acomputer, in accordance with a known mouse interface protocol. Thecomputer runs a mouse driver application, which interprets the movementsignals and directs the movement, on the GUI, of a symbol such as acursor. The mouse also has click buttons, preferably two, which arepositioned so that the user can conveniently press the buttons withhis/her fingers, without having to change the grip on the mouse.

Computer software, in the form of "mouse driver" programs, have beenemployed along with these physical apparatus. A mouse driver essentiallyreceives signals through a mouse interface (typically a serial cable),interprets the signals in terms of movement (two dimensions, in the plusand minus directions each) and selection (mouse button clicking), anddirects the operating system and/or application programs to perform adesired function.

A major advance was made when IBM Corporation developed the TrackPointII™ and TrackPoint III™ pointing device (hereinafter generally referredto as "TrackPoint devices"). A TrackPoint device includes a small,joystick-like member which is mounted in a keyboard, between the keys.Click buttons are provided on the keyboard also, preferably centered andin front of a space bar.

The TrackPoint device enhanced the portability of small, laptopcomputers, because all the functionality of a mouse fit within thekeyboard. It was not necessary to carry the mouse separately, or to finda flat surface for using the mouse.

However, because graphical user interfaces are so powerful, moresophisticated ways of exploiting the user interface capabilities havebeen pursued. For instance, since GUI applications provide scrollingfunctions as well as symbol selection functions, and since functionsboth inside an application and outside on the desktop/operating systememploy selection functions, it is likely to be a convenience for theuser to have multiple cursor manipulation apparatus.

To further expand the capabilities of a user interface device for usewith a GUI computer, mice have had added apparatus to provide, ineffect, a Z axis of movement, to go along with the X and Y axes ofmovement provided by ordinary mice. For instance, in U.S. Pat. No.5,530,455, Gillick et al., "Roller Mouse for Implementing Scrolling inWindows Applications" and U.S. Pat. No. 5,446,481, Gillick et al.,:Multidimensional Hybrid Mouse for Computers", a Z axis roller is added.

However, these additional features are limited in their use, since theyare useful only for tasks for which one additional dimension is needed.

IBM Corp. has developed a keyboard with two TrackPoint devices,positioned at two different sites within the keyboard. Because there aretwo such devices, each having full two-dimensional capability, addedfunctionality and flexibility are realized.

Accordingly, the user, when choosing a type of interface device to use,has many options. In fact, a user's manual dexterity is capable ofmaking effective use of a plurality of such devices. However,heretofore, GUI software has been limited in its ability to support usercommands. For instance, in a word processor, a user must use the samecursor, and the same interface mechanism, for scrolling through adocument, selecting text for cutting and pasting, etc. Also, if the useris both operating an application and moving or invoking objects on thedesktop, the same cursor and interface device are again used. Therefore,conventional GUI software and interface device drivers have had thedrawback of limiting the user's efficiency and productivity by notallowing users to take full advantage of the graphical user interface'scapacity to perform quick and convenient functions, responsive to usercommands.

SUMMARY OF THE INVENTION

It is therefore an object of the invention to provide a method andsystem for providing a user interface with a graphical user interface(GUI) computer system.

The method of the invention comprises the following steps:

First, a user input command signal is received. In accordance with theinvention, the signal is compatible in format with conventional userinterface signals, such as mouse signals. However, the user interfacesignal includes first and second signals, which are representative ofmovements of respective first and second user input mechanisms fortwo-dimensional movements.

The user input signal is then resolved, by a demultiplexing process,into first and second signals. The first and second signals arerepresentative of two-dimensional movements of first and second,distinct, user interface devices. A preferred embodiment of theinvention employs a user interface device which is the subject ofco-pending, co-assigned U.S. patent application Ser. No. 80/706,019,filed Aug. 30, 1996, Barber et al., "Hand Held Computer Interface DeviceHaving Multiple Two-Dimensional User Command Inputs." directed to amouse having a joystick-type pointing device disposed thereon. Thus, thefirst signal is produced by mouse movement, in a familiar manner. Thesecond signal is produced by the pointing device. The two signals aremultiplexed on board the mouse, to produce the above-mentioned userinput signal.

After the user input signal as been resolved into the first and secondsignals, the method proceeds by operating a first displayed symbol basedon the first signal, and operating a second displayed symbol based onthe second signal.

These steps of operating include any of the following:

(1) scrolling, in the up/down and left/right directions, the content ofan image partially displayed by an application window,

(2) moving forward/backward through a sequence of frames displayed by anapplication window,

(3) moving a cursor over the GUI display in the up/down and left/rightdirections, and

(4) moving a special function sub-window over the GUI display in theup/down and left/right directions.

Accordingly, a system and method according to the invention allow theuser to take better advantage of multiple, two-dimensional user inputcommand mechanisms to further enhance the ease and efficiency offered bythe GUI environment.

The invention is advantageously used in connection with a user inputdevice, such as a mouse having a TrackPoint device as well as a surfacecontact ball for movement over a work surface, as described inco-pending, co-assigned U.S. patent application Ser. No. 80/706,019.

While the invention is primarily disclosed as a method, it will beunderstood by a person of ordinary skill in the art that an apparatus,such as a conventional data processor, including a CPU, memory, I/O,program storage, a connecting bus, and other appropriate components,could be programmed or otherwise designed to facilitate the practice ofthe method of the invention. Such a processor would include appropriateprogram means for executing the method of the invention.

Also, an article of manufacture, such as a pre-recorded disk or othersimilar computer program product, for use with a data processing system,could include a storage medium and program means recorded thereon fordirecting the data processing system to facilitate the practice of themethod of the invention. It will be understood that such apparatus andarticles of manufacture also fall within the spirit and scope of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system block diagram of the invention and its operatingenvironment.

FIG. 2 is a block diagram showing the functionality of a user inputdevice for use with the invention.

FIG. 3 is a view of a GUI display showing functionality used inaccordance with the invention.

FIG. 4 is a view of a GUI display showing functionality used inaccordance with the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 is a block diagram of a computer system employing the method ofthe invention. A user command input device 2 produces movement andselection signals, which are provided through an interface such as astandard mouse cable 4 to a computer 6.

In accordance with the invention, the device 2 includes a plurality oftwo-dimensional movement inputs, and produces a multiplexed signal whichis compatible with the standard mouse interface, but which conveys usercommand information from the plurality of inputs.

A more detailed illustration of the operation of the device 2 is givenin FIG. 2. First and second mechanisms 8 and 10 (such as a mouse surfacecontact ball and a TrackPoint device) produce signals which are providedto a multiplexer 12. In accordance with standard practice for providingmouse signals to a computer, the signals produced by the mechanisms 8and 10 include a sequence of segmented, or segmentable, messages.

Note, by the way, that, for the two-TrackPoint-device keyboard mentionedin the Background section, the interface with the computer provides twoseparate links, so that the GUI support software within the computerseparately handles the movement signals from the two TrackPoint devices.The interface here described does not require the extra interfacechannel.

The multiplexer 12 receives the message segments and tags them with a IDspecifying which mechanism they came from. The resultant multiplexedsignal is thus in a general format 14, in which a single signal streamincludes packets in a sequence, each packet including a tag identifyingone of the mechanisms 8 and 10 as a source, and including a messagerepresentative of a movement signal and/or click button signal producedby that mechanism. That resultant signal is provided to an interface 16,such as the standard mouse cable 4 of FIG. 1. Note that the interface 16is a single interface, so that an apparatus in accordance with theinvention does not require multiple interfaces, as did theabove-discussed prior art IBM keyboard having two TrackPoint devices.Note, further, that the single interface 16 is backward compatible withconventional mouse interfaces.

Returning to FIG. 1, the multiplexed signal 14 is received over thecable 4 at an input mouse interface 18. The signal is provided to amouse driver 20. The driver 20 includes a demultiplexer, whichdemultiplexes the signal to produce separate signals corresponding withthe separate user input mechanisms 8 and 10. In the course of thisdemultiplexing, the ID tags are stripped out, and the various segmentedmessages are grouped separately, and provided as separate outputs.

A bus 22, shown in FIG. 1, schematically represents a plurality ofseparate lines, functional routes, etc., for carrying the respectivesignals produced by the demultiplexer. Suitable implementations forseparately providing the demultiplexed signals may be used, inaccordance with the particular system requirements.

The bus 22 routes the signals separately to the appropriatedestinations. The destinations are selectable by the user, in a mannerdescribed below. For illustrative purposes, the various lines of the bus22 are coupled to various software modules, including a device driver40, an operating system 42, and applications 44 and 46. As per theoperation of those software modules, and in accordance with the user'smanipulation of the various user input mechanisms to produce therespective signals, the software modules 40, 42, 44, and 46 causeinformation to be displayed on a display 48 as per the detaileddescriptions which follow.

Referring to FIG. 3, part of the functionality of the mouse driver 20 ofthe invention is to provide a user interface window, as shown in FIG. 3.

It is assumed that a desired number of user interface mechanisms aresuitably coupled to the computer 6. For instance, a mouse having aTrackPoint device may be installed to the mouse port of the computer 6,thereby providing two user interface mechanisms: first, the mouseitself, with motion determined by the mouse's surface contact ball, andsecond, the TrackPoint device.

In accordance with the invention, the driver 20 maps the mechanisms tointernally maintained IDs. For each ID, the driver provides the userwith configuration software, preferably in the form of a window. Whenthe driver is installed, an icon appears, such as on the desktop. Whenthe user selects the icon, a window such as that of FIG. 3 appears.

The window, at any given time, applies to one of the user interfacemechanisms, and so identifies itself to the user. For instance, themouse surface contact ball might be mapped as device 1, and theTrackPoint device mapped as device 2. As shown, the header at the top ofthe window identifies which device the window currently applies to.

The window also includes a function for switching to another device,shown as a software switch 26. Where only two user input mechanisms areused, the switch 26 can simply toggle between them. Where a greaternumber of devices are available to the user, the switch 26 may bereplaced by a button which, when pressed, causes a menu of installeddevices to be displayed. Then, the user simply selects the user inputmechanism he/she wants to work with.

The window includes a bank of functions 28, and soft switches forallowing the user to select which one of the desired functions theselected user input mechanism is to apply to. (Suitable safeguards maybe used for warning or disallowing when one user input mechanism is tobe set to a function already allocated to another user input mechanism.)

Additional controls, shown generally as 30, 32, and 34 may be providedas appropriate for providing user control over the magnitude ofoperation of the particular task that the user input mechanism isassigned to. This will be explained in more detail in connection withthe descriptions of the functions which follow.

Depending on the application being run, a wide variety of differentoperations may advantageously employ concurrent cursor activities suchas those made possible by an apparatus according to the invention. Thefunctions are selectable from the bank 28.

One function supported in accordance with the invention is that oftwo-dimensional scrolling ("AutoScroll"). Where a window displays aportion of a larger image, such as a lengthy document in a wordprocessor, a user input mechanism may be used for two-dimensionalscrolling. A noteworthy advantage of using a two-dimensional user inputmechanism for scrolling is that the image can be scrolled in both the Xand Y directions. Conventionally, scrolling has been done by pressing aclick button when the cursor is positioned on a slider bar or equivalentgraphical tool, so scrolling could only be done in one direction at atime.

Also, the speed of scrolling may be related to the magnitude ofmanipulation of the user input mechanism. For instance, where aTrackPoint device is so used, the scrolling speed is related to themagnitude of the force exerted by the user's fingertip. A suitableforce-to-speed transfer function is preferably used, such as thatdescribed in co-assigned U.S. patent application Ser. No. 08/316,983,Barrett et al., "Graphical User Interface Cursor Positioning DeviceHaving a Negative Inertia Transfer Function," now issued as U.S. Pat.No. 5,570,111.

The controls 30, 32, and 34, or controls having other suitable formats,may be used for allowing the user to select a desired transfer function,scale the transfer function to modify the sensitivity andresponsiveness, etc.

Another function is designated in FIG. 3 as "Web Scroll". This functionassumes that an application has displayed a sequence of pages,documents, etc., and that a history of that sequence has beenmaintained. The user input mechanism is used here to step, forward andbackward, through the sequence of displayed pages. Thus, this functionhas particular applicability to Web browsers.

A preferred implementation is to map the click buttons of the user inputmechanism to the "forward" and "backward" functions of the applications.For instance, clicking the left mouse button might go to the previouslyviewed page, and clicking the right button might go to the next-viewedpage.

An alternative implementation would be to use the two-dimensionalmovement element of the user input mechanism for stepping through thesequence of pages. For instance, a leftward press of a TrackPointdevice, having a duration and magnitude which satisfies a predeterminedthreshold or other criterion, might be recognized as a user command togo to the previously viewed page. A similar rightward press isinterpreted as a command to go to the next-viewed page. For details onthe recognition of particular user input signatures for alternativefunctions, see co-assigned U.S. patent application Ser. No. 08/483,594,Marks et al., "Enhanced Program Access in a Graphical User Interface,"now issued as U.S. Pat. No. 5,586,243.

Yet another function is to allow for two cursors ("Two Cursor"). Withinsome individual applications, this can be useful. For instance, in aword processor, one cursor can be used for scrolling, while another canbe used for selecting text for cutting and pasting. See also co-pending,co-assigned U.S. patent application Ser. No. 08/631,110, Barber et al.,"Multiple Display Pointers for Computer Graphical User Interfaces."

Alternatively, one cursor can be used within an application, whileanother is used by the operating system, such as on a desktop.

Finally, a user input mechanism can be mapped, preferably by theoperating system but alternatively within an application, to a specialfunction sub-window, such as a magnifier (FIG. 4). In the illustratedexample, the special function sub-window is a magnifier 36, which ispositioned on a word processor application window 38. As shown, themagnifier 36 magnifies the GUI content (such as text) which appears onthe display in the position where the magnifier is located.

In accordance with the invention, a user input mechanism is mapped tothe magnifier 36. As the user input mechanism is manipulated to producetwo-dimensional movement, the magnifier 36 moves, in the same mannerthat a cursor would move. The dimensions of the sub-window, themagnification power, and other suitable parameters may be adjusted bythe user through use of controls such as the controls 30, 32, and 34 ofFIG. 3. Alternatively, a series of predetermined values for thesub-window size, magnification power, or the like can be established.The click buttons are configured to assign the click buttons to thatselectable function. Then, the user can increase or decrease thefunction, such as the magnification power, by clicking the left or rightbuttons to increase and decrease it, respectively, through thepredetermined set of values.

It is believed that the special function sub-window, where used as amagnifier, may best be supported by the operating system, so that it canbe moved all over the display, across window boundaries. However, otherspecial functions may be particularly suited for use within a particularapplication, and would then be limited within the application window.

Note, in general, that applications, etc., have been described in termsof "windows." It should be understood that this terminology is notintended to limit the scope of GUI applications which can advantageouslyemploy the invention. For instance, if an application is displayed in"full screen" mode, rather than as a window occupying only a portion ofthe display, all of the principles pertaining to the above discussionapply equally.

Using the foregoing specification, the invention may be implementedusing standard programming and/or engineering techniques using computerprogramming software, firmware, hardware or any combination orsubcombination thereof. Any such resulting program(s), having computerreadable program code means, may be embodied or provided within one ormore computer readable or usable media such as fixed (hard) drives,disk, diskettes, optical disks, magnetic tape, semiconductor memoriessuch as read-only memory (ROM), etc., or any transmitting/receivingmedium such as the Internet or other communication network or link,thereby making a computer program product, i.e., an article ofmanufacture, according to the invention. The article of manufacturecontaining the computer programming code may be made and/or used byexecuting the code directly from one medium, by copying the code fromone medium to another medium, or by transmitting the code over anetwork.

An apparatus for making, using, or selling the invention may be one ormore processing systems including, but not limited to, a centralprocessing unit (CPU), memory, storage devices, communication links,communication devices, servers, I/O devices, or any subcomponents orindividual parts of one or more processing systems, including software,firmware, hardware or any combination or subcombination thereof, whichembody the invention as set forth in the claims.

User input may be received from the keyboard, mouse, pen, voice, touchscreen, or any other means by which a human can input data to acomputer, including through other programs such as application programs.

One skilled in the art of computer science will easily be able tocombine the software created as described with appropriate generalpurpose or special purpose computer hardware to create a computer systemand/or computer subcomponents embodying the invention and to create acomputer system and/or computer subcomponents for carrying out themethod of the invention. While the preferred embodiment of the presentinvention has been illustrated in detail, it should be apparent thatmodifications and adaptations to that embodiment may occur to oneskilled in the art without departing from the spirit or scope of thepresent invention as set forth in the following claims.

What is claimed is:
 1. A method for providing a user interface with agraphical user interface (GUI) computer system, the GUI computer systemincluding first and second user input mechanisms, which producerespective first and second directional movement signals, the GUIcomputer system further including means for simultaneously displayingfirst and second movable displayed symbols, the method comprising thesteps of:receiving the first and second directional movement signals forallowing a user to direct two-dimensional movements of respective onesof the first and second displayed symbols; multiplexing the first andsecond directional movement signals to produce a user input commandsignal; receiving the user input command signal; resolving the first andsecond signals from the user input command signal; operating the firstdisplayed symbol based on the first signal; and operating the seconddisplayed symbol based on the second signal, wherein, upon actuation ofany of said first and second user input mechanisms, a GUI display windowis opened, said window, at any given time, applying to one of said firstand second user input mechanisms, such that said window identifies towhich of said first and second user input mechanisms the windowcurrently applies. said window allowing switching from said one of saidfirst and second user input mechanisms to the other of said first andsecond user input mechanisms.
 2. A method as recited in claim 1, whereinthe step of resolving includes:extracting the units of information fromthe user input command signal: and generating the first and secondsignals from the information units based on the associated ID tags.
 3. Amethod as recited in claim 2 wherein the step of resolving furtherincludes:processing the first signal as a mouse movement signal; andprocessing the second signal separately.
 4. A method as recited in claim1, wherein:(a) for the steps of operating the first and second displayedsymbols based, respectively, on the first and second signals, thedisplayed symbol includes one of:a cursor, an application window orfull-screen application (hereinafter an "application window"), and aspecial function sub-window; and (b) each of the steps of operatingincludes one of the steps of:scrolling, in the up/down and left/rightdirections, the content of an image partially displayed by anapplication window, moving forward/backward through a sequence of framesdisplayed by an application window, moving a cursor over the GUI displayin the up/down and left/right directions, and moving a special functionsub-window over the GUI display in the up/down and left/rightdirections.
 5. A method as recited in claim 4, wherein the step ofscrolling, in the up/down and left/right directions, the content of animage partially displayed by an application window includes the stepsof:positioning a cursor within the application window containing thepartly displayed image; and scrolling the content simultaneously in theup/down and left/right directions as per the signal.
 6. A method asrecited in claim 4, wherein the step of scrolling, in the up/down andleft/right directions, the content of an image partially displayed by anapplication window includes scrolling at a speed related to a magnitudeof manipulation by the user of the respective user input mechanism.
 7. Amethod as recited in claim 4, wherein the step of movingforward/backward through a sequence of frames displayed by anapplication window includes the steps of:mapping click buttons of theuser input mechanism to the forward and backward directions of movementthrough the sequence of frames; and displaying successive earlier orlater frames of the sequence of frames responsive to clicks of therespective click buttons.
 8. A method as recited in claim 7, wherein:theapplication window includes a Web browser; and the step of displayingsuccessive earlier or later frames includes displaying successiveearlier or later Web pages.
 9. A method as recited in claim 4, whereinthe step of moving a cursor over the GUI display in the up/down andleft/right directions includes the steps of:performing acontext-switching operation in which control of a cursor displayed inthe application window is switched to one of the user input mechanisms;and thereafter, moving the cursor responsive to user manipulation of theone of the user input mechanisms.
 10. A method as recited in claim 4,wherein the step of moving a special function sub-window over the GUIdisplay in the up/down and left/right directions includes moving amagnifier window.
 11. A method as recited in claim 10, wherein the stepof moving a special function sub-window further includes the stepsof:(a) mapping the click buttons to functions relating to the power ofmagnification of the magnifier window; and (b) changing themagnification of the magnifier window responsive to clicks of therespective click buttons.
 12. A method as recited in claim 1, whereinthe step of multiplexing includes producing a user input command signalwhich is formatted in accordance with a standard mouse protocol.
 13. Asystem for providing a user interface with a graphical user interface(GUI) computer system, the GUI computer system including first andsecond user input mechanisms, which produce respective first and seconddirectional movement signals, the GUI computer system further includingmeans for simultaneously displaying first and second movable displayedsymbols, the system comprising:means for receiving the first and seconddirectional movement signals for allowing a user to directtwo-dimensional movements of respective ones of the first and seconddisplayed symbols; means for multiplexing the first and seconddirectional movement signals to produce a user input command signal;means for receiving the user input command signal; means for resolvingthe first and second signals from the user input command signal; meansfor operating the first displayed symbol based on the first signal; andmeans for operating the second displayed symbol based on the secondsignal, wherein, upon actuation of any of said first and second userinput mechanisms, a GUI display window is opened, said window, at anygiven time, applying to one of said first and second user inputmechanisms, such that said window identifies to which of said first andsecond user input mechanisms the window currently applies, said windowallowing switching from said one of said first and second user inputmechanisms to the other of said first and second user input mechanisms.14. A system as recited in claim 13, wherein the means for resolvingincludes:means for extracting the units of information from the userinput command signal: and means for generating the first and secondsignals from the information units based on the associated ID tags. 15.A system as recited in claim 14 wherein the means for resolving furtherincludes:means for processing the first signal as a mouse movementsignal; and means for processing the second signal separately.
 16. Asystem as recited in claim 13, wherein:(a) for the means for operatingthe first and second displayed symbols based, respectively, on the firstand second signals, the displayed symbol includes one of:a cursor, anapplication window or full-screen application (hereinafter an"application window"), and a special function sub-window; and (b) eachof the means operating includes means for performing one of the stepsof:scrolling, in the up/down and left/right directions, the content ofan image partially displayed by an application window, movingforward/backward through a sequence of frames displayed by anapplication window, moving a cursor over the GUI display in the up/downand left/right directions, and moving a special function sub-window overthe GUI display in the up/down and left/right directions.
 17. A systemas recited in claim 16, wherein the means for scrolling, in the up/downand left/right directions, the content of an image partially displayedby an application window includes:means for positioning a cursor withinthe application window containing the partly displayed image; and meansfor scrolling the content simultaneously in the up/down and left/rightdirections as per the signal.
 18. A system as recited in claim 16,wherein the means for scrolling, in the up/down and left/rightdirections, the content of an image partially displayed by anapplication window includes means for scrolling at a speed related to amagnitude of manipulation by the user of the respective user inputmechanism.
 19. A system as recited in claim 16, wherein the means formoving forward/backward through a sequence of frames displayed by anapplication window includes:means for mapping click buttons of the userinput mechanism to the forward and backward directions of movementthrough the sequence of frames; and means for displaying successiveearlier or later frames of the sequence of frames responsive to clicksof the respective click buttons.
 20. A system as recited in claim 19,wherein:the application window includes a Web browser; and the means fordisplaying successive earlier or later frames includes means fordisplaying successive earlier or later Web pages.
 21. A system asrecited in claim 16, wherein the means for moving a cursor over the GUIdisplay in the up/down and left/right directions includes:means forperforming a context-switching operation in which control of a cursordisplayed in the application window is switched to one of the user inputmechanisms; and means, operable thereafter, for moving the cursorresponsive to user manipulation of the one of the user input mechanisms.22. A system as recited in claim 16, wherein the means for moving aspecial function sub-window over the GUI display in the up/down andleft/right directions includes means for moving a magnifier window. 23.A system as recited in claim 22, wherein the means for moving a specialfunction sub-window further includes:(a) means for mapping the clickbuttons to functions relating to the power of magnification of themagnifier window; and (b) means for changing the magnification of themagnifier window responsive to clicks of the respective click buttons.24. A system as recited in claim 13, wherein the means for multiplexingincludes means for producing a user input command signal which isformatted in accordance with a standard mouse protocol.
 25. A computerprogram product, for use with a graphical user interface (GUI) computersystem, for providing a user interface with the computer system, thecomputer system including first and second user input mechanisms, whichproduce respective first and second directional movement signals, thecomputer system further including means for simultaneously displayingfirst and second movable displayed symbols, the computer program productcomprising:a computer readable medium; means, provided on the medium,for directing the computer system to receive the first and seconddirectional movement signals for allowing a user to directtwo-dimensional movements of respective ones of the first and seconddisplayed symbols; means, provided on the medium, for directing thecomputer system to multiplex the first and second directional movementsignals to produce a user input command signal; means, provided on themedium, for directing the computer system to receive the user inputcommand signal; means, provided on the medium, for directing thecomputer system to resolve the first and second signals from the userinput command signal; means, provided on the medium, for directing thecomputer system to operate the first displayed symbol based on the firstsignal; and means, provided on the medium, for directing the computersystem to operate the second displayed symbol based on the secondsignal, wherein, upon actuation of any of said first and second userinput mechanisms, a GUI display window is opened, said window, at anygiven time, applying to one of said first and second user inputmechanisms, such that said window identifies to which of said first andsecond user input mechanisms the window currently applies, said windowallowing switching from said one of said first and second user inputmechanisms to the other of said first and second user input mechanisms.26. A computer program product as recited in claim 25, wherein the meansfor directing to resolve includes:means, provided on the medium, fordirecting the computer system to extract the units of information fromthe user input command signal; and means, provided on the medium, fordirecting the computer system to generate the first and second signalsfrom the information units based on the associated ID tags.
 27. Acomputer program product as recited in claim 26, wherein the means fordirecting to resolve further includes:means, provided on the medium, fordirecting the computer system to process the first signal as a mousemovement signal; and means, provided on the medium, for directing thecomputer system to process the second signal separately.
 28. A computerprogram product as recited in claim 25, wherein:(a) for the means fordirecting to operate the first and second displayed symbols based,respectively, on the first and second signals, the displayed symbolincludes one of:a cursor, an application window or full-screenapplication (hereinafter an "application window"), and a specialfunction sub-window; and (b) each of the means for directing to operateincludes means, provided on the medium, for directing the computersystem to perform one of the steps of:scrolling, in the up/down andleft/right directions, the content of an image partially displayed by anapplication window, moving forward/backward through a sequence of framesdisplayed by an application window, moving a cursor over the GUI displayin the up/down and left/right directions, and moving a special functionsub-window over the GUI display in the up/down and left/rightdirections.
 29. A computer program product as recited in claim 28,wherein the means for directing to scroll, in the up/down and left/rightdirections, the content of an image partially displayed by anapplication window includes:means, provided on the medium, for directingthe computer system to position a cursor within the application windowcontaining the partly displayed image; and means, provided on themedium, for directing the computer system to scroll the contentsimultaneously in the up/down and left/right directions as per thesignal.
 30. A computer program product as recited in claim 28, whereinthe means for directing to scroll, in the up/down and left/rightdirections, the content of an image partially displayed by anapplication window includes means, provided on the medium, for directingthe computer system to scroll at a speed related to a magnitude ofmanipulation by the user of the respective user input mechanism.
 31. Acomputer program product as recited in claim 28, wherein the means fordirecting to move forward/backward through a sequence of framesdisplayed by an application window includes:means, provided on themedium, for directing the computer system to map click buttons of theuser input mechanism to the forward and backward directions of movementthrough the sequence of frames; and means, provided on the medium, fordirecting the computer system to display successive earlier or laterframes of the sequence of frames responsive to clicks of the respectiveclick buttons.
 32. A computer program product as recited in claim 31,wherein:the application window includes a Web browser; and the means,provided on the medium, for directing the computer system to displaysuccessive earlier or later frames includes means, provided on themedium, for directing the computer system to display successive earlieror later Web pages.
 33. A computer program product as recited in claim28, wherein the means for directing to move a cursor over the GUIdisplay in the up/down and left/right directions includes:means,provided on the medium, for directing the computer system to perform acontext-switching operation in which control of a cursor displayed inthe application window is switched to one of the user input mechanisms;and means, provided on the medium, operable thereafter, for directingthe computer system to move the cursor responsive to user manipulationof the one of the user input mechanisms.
 34. A computer program productas recited in claim 28, wherein the means for directing to move aspecial function sub-window over the GUI display in the up/down andleft/right directions includes means, provided on the medium, fordirecting the computer system to move a magnifier window.
 35. A computerprogram product as recited in claim 34, wherein the means for directingto move a special function sub-window further includes:(a) means,provided on the medium, for directing the computer system to map theclick buttons to functions relating to the power of magnification of themagnifier window; and (b) means, provided on the medium, for directingthe computer system to change the magnification of the magnifier windowresponsive to clicks of the respective click buttons.
 36. A computerprogram product as recited in claim 25, wherein the means for directingto multiplex includes means, provided on the medium, for directing thecomputer system to produce a user input command signal which isformatted in accordance with a standard mouse protocol.